﻿Public Class xtf_ABMpoliza

    Dim ulg_row As DataRow
    Dim obj_poliza As cls_poliza_ = Nothing
    Dim dtt_cuota_ As New DataTable

    Public Sub New()
        InitializeComponent()
        Cargarriesgo_()
        Cargarmarca_()
        Cargarmodelo_()
        Cargarproveedor_()
        Cargartipovencimiento_()
        Cargarvendedor_()

        dtp_primervencimiento.DateTime = Now
        dtp_vigenciadesde.DateTime = Now
        dtp_vigenciahasta.DateTime = Now

        AgregarValidaciones()

        gdv_cuota_.Tag = New Collections.Generic.List(Of cls_cuota_)
        dtt_cuota_.Columns.Add("Cuota", GetType(String))
        dtt_cuota_.Columns.Add("Importe", GetType(Decimal))
        dtt_cuota_.Columns.Add("FVto", GetType(DateTime))
        dtt_cuota_.Columns.Add("FVtoR", GetType(DateTime))
        dtt_cuota_.Columns.Add("Obs", GetType(String))
        dtt_cuota_.Columns.Add("Observaciones", GetType(String))
        dtt_cuota_.Columns.Add("objeto", GetType(cls_cuota_))

        gdc_cuota_.DataSource = dtt_cuota_
        gdv_cuota_.PopulateColumns()
        gdv_cuota_.Columns("objeto").Visible = False
        gdv_cuota_.Columns("Obs").ColumnEdit = New DevExpress.XtraEditors.Repository.RepositoryItemTextEdit
        gdv_cuota_.Columns("Importe").ColumnEdit = New DevExpress.XtraEditors.Repository.RepositoryItemTextEdit
        gdv_cuota_.Columns("FVto").ColumnEdit = New DevExpress.XtraEditors.Repository.RepositoryItemDateEdit
        gdv_cuota_.Columns("FVtoR").ColumnEdit = New DevExpress.XtraEditors.Repository.RepositoryItemDateEdit

        CType(gdv_cuota_.Columns("FVto").ColumnEdit, DevExpress.XtraEditors.Repository.RepositoryItemDateEdit).Mask.MaskType = DevExpress.XtraEditors.Mask.MaskType.DateTime
        CType(gdv_cuota_.Columns("FVto").ColumnEdit, DevExpress.XtraEditors.Repository.RepositoryItemDateEdit).Mask.EditMask = "dd/MM/yy"
        CType(gdv_cuota_.Columns("FVto").ColumnEdit, DevExpress.XtraEditors.Repository.RepositoryItemDateEdit).Mask.UseMaskAsDisplayFormat = True

        CType(gdv_cuota_.Columns("FVtoR").ColumnEdit, DevExpress.XtraEditors.Repository.RepositoryItemDateEdit).Mask.MaskType = DevExpress.XtraEditors.Mask.MaskType.DateTime
        CType(gdv_cuota_.Columns("FVtoR").ColumnEdit, DevExpress.XtraEditors.Repository.RepositoryItemDateEdit).Mask.EditMask = "dd/MM/yy"
        CType(gdv_cuota_.Columns("FVtoR").ColumnEdit, DevExpress.XtraEditors.Repository.RepositoryItemDateEdit).Mask.UseMaskAsDisplayFormat = True

        CType(gdv_cuota_.Columns("Importe").ColumnEdit, DevExpress.XtraEditors.Repository.RepositoryItemTextEdit).Mask.MaskType = DevExpress.XtraEditors.Mask.MaskType.Numeric
        CType(gdv_cuota_.Columns("Importe").ColumnEdit, DevExpress.XtraEditors.Repository.RepositoryItemTextEdit).Mask.EditMask = "n2"
        CType(gdv_cuota_.Columns("Importe").ColumnEdit, DevExpress.XtraEditors.Repository.RepositoryItemTextEdit).Mask.UseMaskAsDisplayFormat = True
        FiltrarColumnas()

    End Sub

    Public Overrides Sub CargarObjetos()
        Cargarriesgo_()
    End Sub
    Private Sub Cargarriesgo_()
        Dim tmp_obj As Integer = 0
        tmp_obj = cbo_riesgo.EditValue

        Dim riesgo_ As New cls_riesgo_
        riesgo_.CargarTodos()
        cargarCombo(cbo_riesgo, riesgo_.Items)
        cbo_riesgo.EditValue = IIf(tmp_obj <> 0, tmp_obj, cbo_riesgo.EditValue)

    End Sub
    Private Sub Cargarmarca_()
        Dim tmp_obj As Integer = 0
        tmp_obj = cbo_marca.EditValue

        Dim marca_ As New cls_marca_
        marca_.CargarTodos()
        cargarCombo(cbo_marca, marca_.Items)
        cbo_marca.EditValue = IIf(tmp_obj <> 0, tmp_obj, cbo_marca.EditValue)
    End Sub
    Private Sub Cargarmodelo_()
        Dim tmp_obj As Integer = 0
        tmp_obj = cbo_modelo.EditValue
        Dim modelo_ As New cls_modelo_
        modelo_.CargarXidmarca(cbo_marca.EditValue)
        cargarCombo(cbo_modelo, modelo_.Items)
        cbo_modelo.EditValue = IIf(tmp_obj <> 0, tmp_obj, cbo_modelo.EditValue)
    End Sub
    Private Sub Cargarproveedor_()
        Dim tmp_obj As Integer = 0
        tmp_obj = cbo_proveedor.EditValue

        Dim proveedor_ As New cls_proveedor_
        proveedor_.CargarTodos(True)
        cargarCombo(cbo_proveedor, proveedor_.Items)
        cbo_proveedor.EditValue = IIf(tmp_obj <> 0, tmp_obj, cbo_proveedor.EditValue)
    End Sub
    Private Sub Cargarvendedor_()
        Dim tmp_obj As Integer = 0
        tmp_obj = cbo_vendedor.EditValue

        Dim vendedor_ As New cls_vendedor_
        vendedor_.CargarTodos()
        cargarCombo(cbo_vendedor, vendedor_.Items)
        cbo_vendedor.EditValue = IIf(tmp_obj <> 0, tmp_obj, cbo_vendedor.EditValue)
    End Sub
    Private Sub Cargartipovencimiento_()
        Dim tmp_obj As Integer = 0
        tmp_obj = cbo_tipovencimiento.EditValue

        Dim tipovencimiento_ As New cls_tipovencimiento_
        tipovencimiento_.CargarTodos()
        cargarCombo(cbo_tipovencimiento, tipovencimiento_.Items)
        cbo_tipovencimiento.EditValue = IIf(tmp_obj <> 0, tmp_obj, cbo_tipovencimiento.EditValue)
    End Sub

    Public Shadows Sub Nuevo(ByRef listado As Form)
        Try
            frm_listado = listado
            Me.Text = CType(frm_listado, xtf_ListadoBase).lbl_modulo.Text & " - Nuevo"
            obj_poliza = New cls_poliza_
            btn_Registro.Enabled = False
            Me.Show()
            cbo_riesgo_EditValueChanged(Nothing, Nothing)
            txt_numero.Focus()

            Dim riesgo_ As New cls_riesgo_
            If riesgo_.CargarTodos Then
                For Each riesgo As cls_riesgo_ In riesgo_.Items
                    If riesgo.riesgovehiculo Then
                        cbo_riesgo.EditValue = riesgo.idriesgo
                        Exit For
                    End If
                Next
            End If

            Dim parametro As New cls_config_parametro_
            parametro.Buscar("segurosCompañia")
            cbo_proveedor.EditValue = CInt(parametro.valor)

            parametro.Buscar("polizaVencimiento")
            cbo_tipovencimiento.EditValue = CInt(parametro.valor)
            cbo_tipovencimiento_EditValueChanged(Nothing, Nothing)
        Catch ex As Exception
            'Dim frmError As New frm_ErrorManager(ex.Message)
        End Try
    End Sub

    Public Shadows Sub Modificar(ByRef poliza As cls_poliza_, ByRef listado As Form, ByRef row As DataRow)
        If IsNothing(obj_poliza) Then
            obj_poliza = New cls_poliza_
        End If
        obj_poliza = poliza
        frm_listado = listado
        ulg_row = row : bbi_imprimir.Enabled = True

        Me.Text = CType(frm_listado, xtf_ListadoBase).lbl_modulo.Text & " - " & obj_poliza.ToString
        txt_ID.Text = obj_poliza.idpoliza
        cbo_tipovencimiento.EditValue = obj_poliza.idtipovencimiento
        chk_precotizacion.Checked = obj_poliza.precotizacion
        chk_nueva.Checked = obj_poliza.nueva
        txt_numero.Text = obj_poliza.numero
        txt_numerorenueva.Text = obj_poliza.numerorenueva
        'txt_idpolizarenueva.text = ""
        chk_endoso.Checked = obj_poliza.endoso
        'txt_idpolizaendoso.text = ""
        chk_cambiounidad.Checked = obj_poliza.cambiounidad
        

        'PARCHESIN PARA MUESTRA
        txt_endoso.Text = obj_poliza.idpolizaendoso

        If Not IsNothing(obj_poliza.cliente) Then
            txt_cliente.Tag = obj_poliza.cliente
            txt_cliente.Text = obj_poliza.cliente.razonsocial
        End If

        cbo_riesgo.EditValue = obj_poliza.idriesgo

        cbo_proveedor.EditValue = obj_poliza.idproveedor
        cbo_vendedor.EditValue = obj_poliza.idvendedor
        cbo_marca.EditValue = obj_poliza.idmarca
        cbo_modelo.EditValue = obj_poliza.idmodelo
        txt_año.Text = obj_poliza.año
        txt_patente.Text = obj_poliza.patente
        txt_obs.Text = obj_poliza.obs
        txt_observaciones.Text = obj_poliza.observaciones
        txt_importe.Text = obj_poliza.importe
        txt_cuotas.Text = obj_poliza.cuotas
        txt_importecuota.Text = obj_poliza.importecuota
        dtp_primervencimiento.DateTime = obj_poliza.primervencimiento
        dtp_vigenciadesde.DateTime = obj_poliza.vigenciadesde
        dtp_vigenciahasta.DateTime = obj_poliza.vigenciahasta

        dtt_cuota_.Clear()
        gdv_cuota_.Tag.Clear()
        If Not IsNothing(obj_poliza.cuota_) Then
            If Not IsNothing(obj_poliza.cuota_.Items) Then
                For Each cuota As cls_cuota_ In obj_poliza.cuota_.Items
                    Dim Item As DataRow = dtt_cuota_.NewRow
                    Item("Objeto") = cuota
                    Item("Cuota") = cuota.numero
                    Item("Importe") = cuota.importe
                    Item("FVto") = cuota.vencimiento
                    Item("FVtoR") = cuota.vencimientoR
                    Item("Obs") = cuota.Obs
                    Item("Observaciones") = cuota.Observaciones

                    dtt_cuota_.Rows.Add(Item)
                Next
            End If
        End If

        btn_Registro.Enabled = True

        obj_poliza.polizarenueva = Nothing
        obj_poliza.polizaendoso = Nothing
        obj_poliza.cliente = Nothing
        obj_poliza.riesgo = Nothing
        obj_poliza.proveedor = Nothing
        obj_poliza.marca = Nothing
        obj_poliza.modelo = Nothing
        obj_poliza.tipovencimiento = Nothing
        obj_poliza.registro = Nothing

        cbo_riesgo.ClosePopup()

        Me.Show()
        cbo_riesgo_EditValueChanged(Nothing, Nothing)
    End Sub

    Public Overrides Function ComprobarDatos() As Boolean
        'If Not cbo_pais.Enabled Then
        '    ErrManagerShow("001005")
        '    Return False
        'End If
        If Not ControlarValidaciones() Then
            ErrManagerShow("000004", Me)
            Return False
        End If
        Return True
    End Function

    Public Shadows Sub btn_Guardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Guardar.Click
        If ComprobarDatos() Then

            obj_poliza.precotizacion = chk_precotizacion.Checked
            obj_poliza.nueva = chk_nueva.Checked
            obj_poliza.numero = txt_numero.Text
            obj_poliza.numerorenueva = txt_numerorenueva.Text
            'txt_idpolizarenueva.text = ""
            obj_poliza.endoso = chk_endoso.Checked
            'txt_idpolizaendoso.text = ""
            obj_poliza.cambiounidad = chk_cambiounidad.Checked
            obj_poliza.vigenciadesde = dtp_vigenciadesde.DateTime
            obj_poliza.vigenciahasta = dtp_vigenciahasta.DateTime

            If Not IsNothing(txt_cliente.Tag) Then
                obj_poliza.idcliente = CType(txt_cliente.Tag, cls_cliente_).idcliente
            End If

            'PARCHESIN PARA MUESTRA
            obj_poliza.idpolizaendoso = txt_endoso.Text
            obj_poliza.idvendedor = cbo_vendedor.EditValue
            obj_poliza.idriesgo = cbo_riesgo.EditValue
            obj_poliza.idproveedor = cbo_proveedor.EditValue
            obj_poliza.idmarca = cbo_marca.EditValue
            obj_poliza.idmodelo = cbo_modelo.EditValue
            obj_poliza.año = txt_año.Text
            obj_poliza.patente = txt_patente.Text
            obj_poliza.obs = txt_obs.Text
            obj_poliza.observaciones = txt_observaciones.Text
            obj_poliza.importe = txt_importe.Text
            obj_poliza.cuotas = txt_cuotas.Text
            obj_poliza.importecuota = txt_importecuota.Text
            obj_poliza.idtipovencimiento = cbo_tipovencimiento.EditValue
            obj_poliza.primervencimiento = dtp_primervencimiento.DateTime

            'Guardo cuota------------------------------------------------------
            If IsNothing(obj_poliza.cuota_) Then
                obj_poliza.cuota_ = New cls_cuota_
            End If
            If IsNothing(obj_poliza.cuota_.Items) Then
                obj_poliza.cuota_.Items = New Collections.Generic.List(Of cls_cuota_)
            End If
            obj_poliza.cuota_.Items = New Collections.Generic.List(Of cls_cuota_)
            For Each Elemento As DataRow In dtt_cuota_.Rows
                Dim obj As cls_cuota_ = Elemento("objeto")
                obj.numero = Elemento("Cuota")
                obj.importe = Elemento("Importe")
                obj.vencimiento = Elemento("FVto")
                obj.vencimientoR = Elemento("FVtoR")
                obj.Obs = Elemento("Obs")
                obj.Observaciones = Elemento("Observaciones")
                obj_poliza.cuota_.Items.Add(Elemento("objeto"))
            Next
            For Each Elemento As cls_cuota_ In gdv_cuota_.Tag
                If Elemento.idcuota <> 0 Then
                    Elemento.Eliminar(Elemento.idcuota)
                End If
            Next

            If txt_ID.Text = "" Then
                obj_poliza.Nuevo(True)
                If frm_listado.Visible Then
                    ulg_row = CType(frm_listado, xtf_LISTADOpoliza_).AgregarItem(obj_poliza)
                End If
                Modificar(obj_poliza, frm_listado, ulg_row)
            Else
                obj_poliza.Modificar()
                If frm_listado.Visible Then
                    CType(frm_listado, xtf_LISTADOpoliza_).ModificarItem(obj_poliza, ulg_row)
                End If
                Modificar(obj_poliza, frm_listado, ulg_row)
            End If
            flg_Modificado = False : btn_Guardar.Enabled = False : bbi_guardar.Enabled = False
        End If
    End Sub

    Private Sub btn_Registro_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Registro.Click
        If Not IsNothing(obj_poliza.registro) Then
            Dim ABMRegistro As New xtf_ABMRegistro(obj_poliza.registro)
            If ABMRegistro.ShowDialog() = Windows.Forms.DialogResult.OK Then
                flg_Modificado = True
            End If
        End If
    End Sub


    Private Sub btn_Cerrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Cerrar.Click
        guardar_config_usuariocolumna_()
        If flg_Modificado Then
            bol_comprobarCerrado = False
            Select Case ErrManagerShow("000001", Me)
                Case Windows.Forms.DialogResult.Yes
                    If ComprobarDatos() Then
                        btn_Guardar_Click(Nothing, Nothing)
                    Else
                        Exit Sub
                    End If
                Case Windows.Forms.DialogResult.Cancel : bol_comprobarCerrado = True
                    Exit Sub
            End Select
        End If
        Me.Dispose()
    End Sub

    Private Sub cbo_riesgo_EditValueChanged(sender As System.Object, e As System.EventArgs) Handles cbo_riesgo.EditValueChanged
        Dim riesgo As New cls_riesgo_
        lcg_DatosVehiculo.BeginUpdate()
        If riesgo.Buscar(cbo_riesgo.EditValue) Then
            If riesgo.riesgovehiculo Then
                lcg_DatosVehiculo.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always
                armarOBS()
            Else
                lcg_DatosVehiculo.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never
            End If
        Else
            lcg_DatosVehiculo.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never
        End If
        lcg_DatosVehiculo.EndUpdate()
    End Sub

    Private Sub btn_buscarCliente_Click(sender As System.Object, e As System.EventArgs) Handles btn_buscarCliente.Click
        Dim buscar As xtf_buscardor = Nothing
        Dim Objeto_ As New cls_cliente_
        Objeto_.CargarTodosLISTA(True)
        buscar = New xtf_buscardor("Clientes", Objeto_, {"razonsocial|Razon Social", "TerceroDomicilio|Domicilio", "TerceroLocalidad|Localidad", "TerceroIva|Condicion de IVA"}, 0, "Razon Social")
        If buscar.ShowDialog() = Windows.Forms.DialogResult.OK Then
            Dim cliente As cls_cliente_ = buscar.obj_resultado
            txt_cliente.Text = buscar.obj_resultado.razonsocial
            txt_cliente.Tag = cliente
        End If
    End Sub

    Private Sub btn_calcular_Click(sender As System.Object, e As System.EventArgs) Handles btn_calcular.Click
        If txt_importe.Text <> 0 Or txt_importecuota.Text <> 0 Then
            For Each elemento As DataRow In dtt_cuota_.Rows
                gdv_cuota_.Tag.add(elemento("objeto"))
            Next
            dtt_cuota_.Rows.Clear()
            Dim subtotal As Decimal = 0

            If txt_importecuota.Text = 0 Then
                For i As Integer = 1 To txt_cuotas.Text
                    Dim row As DataRow = dtt_cuota_.NewRow
                    row("Cuota") = i
                    row("Importe") = Math.Round(txt_importe.Text / txt_cuotas.Text, int_cantdecimales)
                    row("FVto") = DateAdd(DateInterval.Month, i - 1, dtp_primervencimiento.DateTime)
                    row("FVtoR") = row("FVto")
                    row("Obs") = txt_obs.Text
                    row("Observaciones") = txt_observaciones.Text
                    Dim cuota As New cls_cuota_
                    cuota.numero = row("Cuota")
                    cuota.total = txt_cuotas.Text
                    cuota.vencimiento = row("FVto")
                    cuota.vencimientoR = row("FVto")
                    cuota.importe = row("Importe")
                    cuota.Obs = row("Obs")
                    cuota.Observaciones = row("Observaciones")
                    row("objeto") = cuota
                    subtotal += cuota.importe
                    dtt_cuota_.Rows.Add(row)
                Next
                txt_importecuota.Text = Math.Round(txt_importe.Text / txt_cuotas.Text, int_cantdecimales)
            Else
                For i As Integer = 1 To txt_cuotas.Text
                    Dim row As DataRow = dtt_cuota_.NewRow
                    row("Cuota") = i
                    row("Importe") = Math.Round(txt_importecuota.Text / 1, int_cantdecimales) '
                    row("FVto") = DateAdd(DateInterval.Month, i - 1, dtp_primervencimiento.DateTime)
                    row("FVtoR") = row("FVto")
                    row("Obs") = txt_obs.Text
                    row("Observaciones") = txt_observaciones.Text
                    Dim cuota As New cls_cuota_
                    cuota.numero = row("Cuota")
                    cuota.total = txt_cuotas.Text
                    cuota.vencimiento = row("FVto")
                    cuota.vencimientoR = row("FVto")
                    cuota.importe = row("Importe")
                    cuota.Obs = row("Obs")
                    cuota.Observaciones = row("Observaciones")
                    row("objeto") = cuota
                    dtt_cuota_.Rows.Add(row)
                    subtotal += cuota.importe
                Next
                txt_importe.Text = Math.Round(txt_importecuota.Text * txt_cuotas.Text)
            End If
            If txt_importe.Text - subtotal > 0 Then
                If dtt_cuota_.Rows.Count > 0 Then
                    dtt_cuota_.Rows(0)("Importe") += txt_importe.Text - subtotal
                    CType(dtt_cuota_.Rows(0)("objeto"), cls_cuota_).importe = dtt_cuota_.Rows(0)("Importe")
                End If
            End If

            gdv_cuota_.BestFitColumns()
        Else
            ErrManagerShow("004002", Me)
        End If
    End Sub

    Private Sub cbo_marca_EditValueChanged(sender As System.Object, e As System.EventArgs) Handles cbo_marca.EditValueChanged
        Cargarmodelo_()
        armarOBS()
    End Sub

    Private Sub armarOBS()
        txt_obs.Text = cbo_marca.Text & " " & cbo_modelo.Text & " " & txt_año.Text & " " & txt_patente.Text
    End Sub

    Private Sub cbo_modelo_EditValueChanged(sender As System.Object, e As System.EventArgs) Handles cbo_modelo.EditValueChanged
        armarOBS()
    End Sub

    Private Sub txt_año_EditValueChanged(sender As System.Object, e As System.EventArgs) Handles txt_año.EditValueChanged
        armarOBS()
    End Sub

    Private Sub txt_patente_EditValueChanged(sender As System.Object, e As System.EventArgs) Handles txt_patente.EditValueChanged
        armarOBS()
    End Sub

    Private Sub CargarPoliza(ByRef poliza As cls_poliza_)
        txt_datosPoliza.Text = poliza.numero
        cbo_riesgo.EditValue = poliza.idriesgo
        cbo_proveedor.EditValue = poliza.idproveedor
        dtp_primervencimiento.DateTime = poliza.primervencimiento
        dtp_vigenciadesde.DateTime = poliza.vigenciahasta
        If poliza.riesgo.riesgovehiculo Then
            cbo_marca.EditValue = poliza.idmarca
            cbo_modelo.EditValue = poliza.idmodelo
        End If
        txt_obs.Text = poliza.obs
        txt_observaciones.Text = poliza.observaciones
        If Not IsNothing(poliza.cliente) Then
            Dim cliente As cls_cliente_ = poliza.cliente
            txt_cliente.Text = cliente.razonsocial
            txt_cliente.Tag = cliente
        Else
            txt_cliente.Text = ""
            txt_cliente.Tag = Nothing
        End If
    End Sub

    Private Sub btn_buscarPoliza_Click(sender As System.Object, e As System.EventArgs) Handles btn_buscarPoliza.Click
        Dim buscar As xtf_buscardor = Nothing
        Dim Objeto_ As New cls_poliza_
        Objeto_.CargarTodos()
        buscar = New xtf_buscardor("Polizas", Objeto_, {"numero|Numero", "proveedor|Compañia"}, 0, "proveedor")
        If buscar.ShowDialog() = Windows.Forms.DialogResult.OK Then
            CargarPoliza(buscar.obj_resultado)
        End If
    End Sub

    Private Sub txt_datosPoliza_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles txt_datosPoliza.KeyPress
        If e.KeyChar = Chr(13) Then
            If txt_datosPoliza.Text <> "" Then
                Dim poliza_ As New cls_poliza_
                If poliza_.CargarXnumero(txt_datosPoliza.Text) Then
                    If poliza_.Items.Count > 1 Then
                        Dim buscar As xtf_buscardor = Nothing
                        buscar = New xtf_buscardor("Polizas", poliza_, {"numero|Numero", "proveedor|Compañia"}, 0, "proveedor")
                        If buscar.ShowDialog() = Windows.Forms.DialogResult.OK Then
                            CargarPoliza(buscar.obj_resultado)
                        End If
                    Else
                        CargarPoliza(poliza_.Items(0))
                    End If
                Else
                    ErrManagerShow("004001", Me)
                    txt_datosPoliza.Text = ""
                    txt_datosPoliza.Focus()
                End If
            End If
        End If
    End Sub

    Private Sub txt_datosPoliza_Validated(sender As Object, e As System.EventArgs) Handles txt_datosPoliza.Validated
        
    End Sub

   
    Private Sub chk_endoso_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles chk_endoso.CheckedChanged
        txt_endoso.Enabled = chk_endoso.Checked
        chk_cambiounidad.Enabled = chk_endoso.Checked
    End Sub

    'Private Sub xtf_Listado_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
    '    guardar_config_usuariocolumna_()
    'End Sub

    Private Sub guardar_config_usuariocolumna_()
        Dim obj_config_usuariocolumna_ As New cls_config_usuariocolumna_
        If obj_config_usuariocolumna_.Buscarxidusuarioxmodulo(UsuarioLOG.idusuario, Me.Name) Then
            obj_config_usuariocolumna_.xml = GetLayoutData(gdv_cuota_)
            obj_config_usuariocolumna_.Modificar()
        Else
            obj_config_usuariocolumna_.xml = GetLayoutData(gdv_cuota_)
            obj_config_usuariocolumna_.idusuario = UsuarioLOG.idusuario
            obj_config_usuariocolumna_.modulo = Me.Name
            obj_config_usuariocolumna_.Nuevo()
        End If
    End Sub

    Public Sub FiltrarColumnas()
        Dim int_IDUsuario As Integer = UsuarioLOG.idusuario
        Dim obj_config_usuariocolumna_ As New cls_config_usuariocolumna_
        gdv_cuota_.BeginUpdate()
        If obj_config_usuariocolumna_.Buscarxidusuarioxmodulo(int_IDUsuario, Me.Name) Then
            SetLayoutData(gdv_cuota_, obj_config_usuariocolumna_.xml)
        End If

        PerzonalizarControl(gdc_cuota_)

        gdv_cuota_.EndUpdate()
    End Sub

    Private Function GetLayoutData(ByRef prm_GridView As DevExpress.XtraGrid.Views.Grid.GridView) As Byte()
        Dim stream As New System.IO.MemoryStream()
        prm_GridView.SaveLayoutToStream(stream)
        Return stream.GetBuffer()
    End Function

    Private Sub SetLayoutData(ByRef prm_GridView As DevExpress.XtraGrid.Views.Grid.GridView, ByVal data As Byte())
        If data Is Nothing OrElse data.Length = 0 Then
            Return
        End If
        Dim stream As New System.IO.MemoryStream(data)
        Try
            prm_GridView.RestoreLayoutFromStream(stream)
        Catch ex As Exception
            Throw New Exception("Wrong data format", ex)
        End Try
    End Sub

    Private Sub cbo_tipovencimiento_EditValueChanged(sender As System.Object, e As System.EventArgs) Handles cbo_tipovencimiento.EditValueChanged
        If cbo_tipovencimiento.EditValue <> 0 Then
            Dim tipovencimiento As New cls_tipovencimiento_
            If tipovencimiento.Buscar(cbo_tipovencimiento.EditValue) Then
                dtp_vigenciahasta.DateTime = DateAdd(DateInterval.Month, tipovencimiento.meses, dtp_vigenciadesde.DateTime)
                txt_cuotas.Text = tipovencimiento.meses
            End If
        End If
    End Sub

    Private Sub dtp_vigenciadesde_EditValueChanged(sender As System.Object, e As System.EventArgs) Handles dtp_vigenciadesde.EditValueChanged
        If cbo_tipovencimiento.EditValue <> 0 Then
            Dim tipovencimiento As New cls_tipovencimiento_
            If tipovencimiento.Buscar(cbo_tipovencimiento.EditValue) Then
                dtp_vigenciahasta.DateTime = DateAdd(DateInterval.Month, tipovencimiento.meses, dtp_vigenciadesde.DateTime)
            End If
        End If
    End Sub
End Class